Skip to main content

Objet : DUT

Un DUT (Data Unit Type) déclare un type de données défini par l'utilisateur qui va au-delà des types standard prédéfinis.

. Symbole:

Vous pouvez voir ces objets sous l'application ou dans la vue POU ajouter. Lors de la création de l'objet, ouvrez la boîte de dialogue Ajouter DUT. Vous pouvez y nommer le nouveau type de données et choisir entre les catégories Structure, Enumération, Alias

Catégories de types de données définies par l'utilisateur

Tableau 30. Syntaxe
TYPE <identifier> :
    <data type declaration>
END_TYPE

Avec TYPE et END_TYPE Une déclaration DUT est incluse entre parenthèses.

TYPE <identifier> :
STRUCT
    <member deklaration>
END_STRUCT
END_TYPE

Déclaration d'un structure

Dans une structure, les au moins deux membres de STRUCT et END_STRUCT Entre crochets.

TYPE <identifier> :
(
    <list of members>
) <base data type> := <inittialization> ;
END_TYPE

Déclaration d'un énumération

Dans une énumération, les au moins deux membres sont entourés d'un crochet rond. Les membres individuels sont séparés par des virgules. Tous les membres ont le même type de données. Une énumération peut également être prise en charge par une liste de texte

Pour plus d'informations, voir : Enum avec prise en charge des listes de texte

La liste de texte est utilisée pour localiser les valeurs de l'énumération. L'objet possède alors également une vue de localisation

TYPE <identifier> : <data type name> ;
END_TYPE

Déclaration d'un Alias

Un alias est un identifiant alternatif.

TYPE <identifier> :
UNION
    <member declaration>
END_UNION
END_TYPE

Déclaration d'un Union

Une union permet de stocker simultanément plusieurs types de données dans la même zone de stockage. La taille d'une union est égale à la taille du plus grand type de données qu'elle contient. La valeur du dernier membre écrit est toujours stockée en mémoire à la fois

Dans le cas d'une Union, ses deux membres au moins sont UNION et END_UNION Entre crochets.



Exemple 520. Exemples

Déclaration de la structure S_POLYGONLINE avec initialisation partielle des membres

TYPE S_POLYGONLINE :
STRUCT
    aiStart : ARRAY[1..2] OF INT := [-99, -99];
    aiPoint1 : ARRAY[1..2] OF INT;
    aiPoint2 : ARRAY[1..2] OF INT;
    aiPoint3 : ARRAY[1..2] OF INT;
    aiPoint4 : ARRAY[1..2] OF INT;
    aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE

Déclaration de la structure S_PENTAGON dans le prolongement de S_POLYGONLINE

TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
    aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPE


Exemple 521. Exemple

Déclaration du recensement E_TRAFFICSIGNAL

{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
    eRed,
    eYellow,
    eGreen := 10
);
END_TYPE

Énumération avec prise en charge des listes de texte dans la vue de localisation

_cds_enum_trafficsignal_localizationview.png

Le _cds_img_button_textual_view.png Vue textuelle et _cds_img_button_tabular_view.png Vue de localisation les boutons sont situés sur le bord droit de l'éditeur. Cliquez sur les boutons pour passer d'une vue à l'autre



Exemple 522. Exemple d'Alias

Déclaration d'un alias

TYPE A_MESSAGE : STRING[50];
END_TYPE


Exemple 523. Exemple UNION

Déclaration d'un UNION

TYPE U_DATA :
UNION
    lrA : LREAL;
    liA : LINT;
    dwA : DWORD;
END_UNION
END_TYPE


Boîte de dialogue : Ajouter un DUT

Fonction: La boîte de dialogue est utilisée pour configurer un nouveau DUT objet (type d'unité de données).

Appel: Projet → Ajouter un objet → DUT menu; menu contextuel de l'objet application

Nom

Nom du nouveau DUT type de données

Exemple: S_POLYGONLINE

Tableau 31. Type de données

Structure

Crée un objet qui déclare une structure qui combine plusieurs variables avec différents types de données dans une unité logique

Les variables déclarées dans la structure sont appelées membres.

Exemple: S_POLYGONLINE

Avancée

standard icon: Étend une structure existante avec plus de membres

Dans le champ de saisie, spécifiez une structure existante. Les membres de la structure existante sont automatiquement disponibles dans la nouvelle structure.

Exemple: S_PENTAGON

Énumération

Crée un objet qui déclare une énumération qui combine plusieurs constantes entières dans une unité logique

Les constantes déclarées dans une énumération sont également appelées valeurs d'énumération.

Exemple: E_TRAFFICSIGNAL

Une énumération peut également comporter une liste de texte. Ceci est utilisé pour localiser les valeurs de l'énumération. Par conséquent, l'objet possède également une vue de localisation.

Ajout de la prise en charge de la liste de texte

_cds_icon_option_deactivated.png: Ajoutez un énumération ajouter

standard icon: Ajoutez un Énumération avec prise en charge des listes de texte ajouter. La liste de texte vous permet de localiser les noms des valeurs d'énumération

Alias

Crée un objet qui déclare un alias avec lequel un nom alternatif est déclaré pour un type de base, un type de données ou un bloc fonction

Exemple : A_MESSAGE

Union

Crée un objet qui déclare une union qui combine plusieurs membres avec des types de données pour la plupart différents dans une unité logique

Tous les membres ont le même décalage, de sorte qu'ils occupent la même mémoire. Les besoins en mémoire d'une union sont déterminés par les besoins en mémoire de son « plus grand » membre.

Exemple : U_DATA

Ajouter

Ferme la boîte de dialogue et crée le nouvel objet

L'objet est affiché avec cds_icon_add_dut.png symbole dans l'arborescence des appareils ou dans POU voir. Lorsqu'une liste de textes est également enregistrée pour l'objet, _cds_icon_textlist_dut.png le symbole s'affiche.